#ifndef _SLROS_BUSMSG_CONVERSION_H_
#define _SLROS_BUSMSG_CONVERSION_H_

#include <ros/ros.h>
#include <jaka_msgs/Move.h>
#include <geometry_msgs/Point.h>
#include <geometry_msgs/Pose.h>
#include <geometry_msgs/PoseStamped.h>
#include <geometry_msgs/Quaternion.h>
#include <jaka_msgs/MoveRequest.h>
#include <jaka_msgs/MoveResponse.h>
#include <ros/time.h>
#include <std_msgs/Bool.h>
#include <std_msgs/Float64MultiArray.h>
#include <std_msgs/Header.h>
#include <std_msgs/MultiArrayDimension.h>
#include <std_msgs/MultiArrayLayout.h>
#include <std_msgs/UInt8.h>
#include "jaka_rebar_bind_types.h"
#include "slros_msgconvert_utils.h"


void convertFromBus(geometry_msgs::Point* msgPtr, SL_Bus_jaka_rebar_bind_geometry_msgs_Point const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_geometry_msgs_Point* busPtr, geometry_msgs::Point const* msgPtr);

void convertFromBus(geometry_msgs::Pose* msgPtr, SL_Bus_jaka_rebar_bind_geometry_msgs_Pose const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_geometry_msgs_Pose* busPtr, geometry_msgs::Pose const* msgPtr);

void convertFromBus(geometry_msgs::PoseStamped* msgPtr, SL_Bus_jaka_rebar_bind_geometry_msgs_PoseStamped const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_geometry_msgs_PoseStamped* busPtr, geometry_msgs::PoseStamped const* msgPtr);

void convertFromBus(geometry_msgs::Quaternion* msgPtr, SL_Bus_jaka_rebar_bind_geometry_msgs_Quaternion const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_geometry_msgs_Quaternion* busPtr, geometry_msgs::Quaternion const* msgPtr);

void convertFromBus(jaka_msgs::MoveRequest* msgPtr, SL_Bus_jaka_rebar_bind_jaka_msgs_MoveRequest const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_jaka_msgs_MoveRequest* busPtr, jaka_msgs::MoveRequest const* msgPtr);

void convertFromBus(jaka_msgs::MoveResponse* msgPtr, SL_Bus_jaka_rebar_bind_jaka_msgs_MoveResponse const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_jaka_msgs_MoveResponse* busPtr, jaka_msgs::MoveResponse const* msgPtr);

void convertFromBus(ros::Time* msgPtr, SL_Bus_jaka_rebar_bind_ros_time_Time const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_ros_time_Time* busPtr, ros::Time const* msgPtr);

void convertFromBus(std_msgs::Bool* msgPtr, SL_Bus_jaka_rebar_bind_std_msgs_Bool const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_std_msgs_Bool* busPtr, std_msgs::Bool const* msgPtr);

void convertFromBus(std_msgs::Float64MultiArray* msgPtr, SL_Bus_jaka_rebar_bind_std_msgs_Float64MultiArray const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_std_msgs_Float64MultiArray* busPtr, std_msgs::Float64MultiArray const* msgPtr);

void convertFromBus(std_msgs::Header* msgPtr, SL_Bus_jaka_rebar_bind_std_msgs_Header const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_std_msgs_Header* busPtr, std_msgs::Header const* msgPtr);

void convertFromBus(std_msgs::MultiArrayDimension* msgPtr, SL_Bus_jaka_rebar_bind_std_msgs_MultiArrayDimension const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_std_msgs_MultiArrayDimension* busPtr, std_msgs::MultiArrayDimension const* msgPtr);

void convertFromBus(std_msgs::MultiArrayLayout* msgPtr, SL_Bus_jaka_rebar_bind_std_msgs_MultiArrayLayout const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_std_msgs_MultiArrayLayout* busPtr, std_msgs::MultiArrayLayout const* msgPtr);

void convertFromBus(std_msgs::UInt8* msgPtr, SL_Bus_jaka_rebar_bind_std_msgs_UInt8 const* busPtr);
void convertToBus(SL_Bus_jaka_rebar_bind_std_msgs_UInt8* busPtr, std_msgs::UInt8 const* msgPtr);


#endif
